class Test extends React.Component {
    state  = {
        count: 0
    };

    componentDidMount() {
        //? 这两个setState都是异步 所以不会立即返回值
        this.setState({count: this.state.count + 1});
        console.log(this.state.count);  //? 0

        this.setState({count: this.state.count + 1});
        console.log(this.state.count);//? 0
        //? 这两个setState是同步的 所以会立即返回值.但setTimeout属于宏任务 会在上面状态改变后输出.上面两个setState执行时count都为0，所以此处count=1
        setTimeout(() => {
            this.setState({count: this.state.count + 1});
            console.log(this.state.count); //? 2

            this.setState({count: this.state.count + 1});
            console.log(this.state.count); //? 3
        }, 0);
    }

    render() {
        return null;
    }
};
